package org.example.mapper;


import org.apache.ibatis.annotations.*;

import org.example.popj.User;

import java.util.List;

@Mapper //应用程序运行时，会自动为该接口创建一个实现类对象，并且会自动的将该实现类对象存入IOC容器中 - bean
public interface UserMapper {

    /*
    查询所有用户
     */
    //@Select("select * from user")
    public List<User> findAll();

    /*
    根据ID删除用户
     */
    @Delete("delete from user where id = #{id}")
    public Integer deleteById(Integer id);

    /*
    新增用户
     */
    @Insert("insert into user(username, password, name, age) values(#{username}, #{password}, #{name}, #{age})")
    public void insert(User user);

    /*
    修改用户
     */
    @Update("update user set username=#{username},password=#{password},name=#{name},age=#{age} where id=#{id}")
    public void update(User user);

    /*
    查询用户
    当有多个参数的时候要增加一个注解@Param-->给多个属性起名的，这样在SQL语句中就可以使用
     */
    @Select("select * from user where username=#{username} and password=#{password}")
    public User findByusernameAndPassword(@Param("username") String username, @Param("password") String password);



}
